/**
 * 
 */
package com.effectivsocial.service.api;

import java.util.List;

import com.effectivsocial.domain.Role;
import com.effectivsocial.domain.User;



/**
 * @author Dhrubo
 *
 */
public interface UserService extends BusinessService<User, String>{

	User findByEmail(String email);
	void appendRolesToUser(User user, List<Role> roles);
	List<User> findUsersByRole(String role);	
	void saveAdminUser(User user);
	//refactor up --- can be a dangerous method if db has tons of records
	long count();
	
	List<User> findByEmailLikeAndDeleted(String name, boolean deleted);
	
	User activate(String email);
	
}
